<?php
class Modelo extends AppModel{
	var $name="Modelo";
	
	var $displayField = 'descripcion';
	var $actAs = array('transaction');
	
	var $belongsTo=array(
		'Marca'=>array(
			'className'=>'Marca',
			'foreignKey'=>'marca_id',
			'conditions'=>array('Marca.activo'=>1),
			'fields'=>array('Marca.tipo_marca_id','Marca.codigo','Marca.descripcion')
			),
		'TipoVehiculo'=>array(
			'className'=>'TipoVehiculo',
			'foreignKey'=>'tipo_vehiculo_id',
			'conditions'=>array('TipoVehiculo.activo'=>true),
			'fields'=>array('TipoVehiculo.id','TipoVehiculo.codigo','TipoVehiculo.descripcion')
			)
	);

    var $hasMany=array(
        'Vehiculo'=>array(
            'className'=>'Vehiculo',
            'foreignKey'=>'modelo_id'
        ),
		'ParteInventariable'=>array(
            'className'=>'ParteInventariable',
            'foreignKey'=>'modelo_id'
        )//,
        // 'PosicionesRueda'=>array(
            // 'className'=>'PosicionesRueda',
            // 'foreignKey'=>'modelo_id'
        // )
        // ,'PlanesMantenimiento'=>array(
           // 'className'=>'PlanesMantenimiento',
           // 'foreignKey'=>'modelo_id'
        // )
    );
	
	var $hasOne=array(
		'ModeloConfiguracion'=>array(
			'className'=>'ModeloConfiguracione',
			'foreignKey'=>'modelo_id'
		)
	);
  
	var $validate=array(
		'codigo'=>array(
			'regla1'=>array(
				'rule'=>'alphaNumeric',
				'message'=>'solo valores alfanuméricos'
			),			
			'regla2'=>array(
				'rule'=>'isUnique',
				'message'=>'debe ser valor único'
			),
			'regla3'=>array(
				'rule'=>'notEmpty',
				'message'=>'debe ingresar un valor'
			)
		),
		'descripcion'=>array(
			'regla4'=>array(
				'rule'=>'notEmpty',
				'message'=>'debe ingresar una descripción'
			)
		),
		'marca_id'=>array(
			'regla5'=>array(
				'rule'=>'notEmpty',
				'message'=>'debe seleccionar una marca'
			),
			'regla6'=>array(
				'rule'=>'numeric',
				'message'=>'debe seleccionar una marca'
			)
		)
	);
	
	function get_nuevo_codigo(){
		$codigo = $this->find('first', array(
			'recursive'=>-1, 
			'fields'=>array('max(regexp_replace("Modelo"."codigo", \'[^0-9]\', \'\', \'gi\')) as codigo'),
			'conditions'=>array('Modelo.codigo !~ \'[ a-z]|[A-Z]\'')
		));
		$ceros = str_repeat('0',5-strlen((int)$codigo[0]['codigo']));		
		return  $ceros.((int)$codigo[0]['codigo'] + 1);
	}
	
}
?>
